/*
@author: lyf
@file: s.go
@time: 2022/10/14 16:23
*/
package main

import (
	"bufio"
	"fmt"
	"os"
	"strings"
)

//func main()  {
//	var num1,num2 string
//	i := 0
//	num1 = "*"
//	num2 = "**"
//	fmt.Println(num1)
//	LOOP:
//		for i < 10 {
//			i++
//			num1 = num1 +num2
//			fmt.Println(num1)
//			goto  LOOP
//		}
//}

//func main() {
//	for i := 1; i <10; i++ {
//		for j := 1; j <= i;j++ {
//			fmt.Printf("%d*%d=%d",i,j,i*j)
//			fmt.Print(" ")
//		}
//		fmt.Println(" ")
//	}
//}

func main()  {
	var str,str1 string
	reader := bufio.NewReader(os.Stdin)
	str1,_ = reader.ReadString('\n')

	for i := 0; i < len(str1); i++ {
		if alnum(str1[i]) {
			str = str + string(str1[i])
		}
	}
	fmt.Println(strings.ToLower(str))

		result := make([]rune, 0)//切片存储

	for _, h := range strings.ToLower(str) {
		result = append(result, h)
	}

	for i := 0; i < len(str)/2; i++ {
		if result[i] != result[len(result)-1-i] {
			fmt.Println("不是回文")
			break
		} else {
			}
		fmt.Println("是回文")
		}
	}

func alnum(b byte) bool {
	return (b >= 'a' && b <= 'z') || (b >= 'A' && b <= 'Z') || (b >= '0' && b <= '9')
}